home *** CD-ROM | disk | FTP | other *** search
- Subject: v22i003: Utilities for auth2.1 server, Part01/03
- Newsgroups: comp.sources.unix
- Approved: rsalz@uunet.UU.NET
- X-Checksum-Snefru: dfa79d9b d19381f0 358797c1 05d5e977
-
- Submitted-by: Daniel J. Bernstein <brnstnd@acf10.nyu.edu>
- Posting-number: Volume 22, Issue 3
- Archive-name: auth-utils/part01
-
- authutil 1.0 - scripts and utilities for auth
-
- This package is a collection of shell scripts and utilities, some
- illustrating how to use the auth package, some making it easier to use.
- None of authutil is strictly necessary for installing and using auth, but
- you'll probably find it worthwhile to at least glance through each
- directory. Users are encouraged to submit small, generally useful scripts
- and utilities to Daniel J. Bernstein, brnstnd@acf10.nyu.edu, for possible
- incorporation into the next authutil version.
-
- Directories:
- aport Utilities to give better control over attachport and authtcp
- clients Scripts using authtcp for standard TCP clients
- servers Scripts using attachport for standard TCP servers
- sendmail-auth How to configure sendmail to use auth
- tam TAM: the Trivial Authenticated Mail system
- util Short, general utility programs
-
- The directories are independent, so there's no top-level Makefile. You
- should go through the README files in each directory one at a time.
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 1 (of 3)."
- # Contents: CHANGES FILES MANIFEST README VERSIONS aport aport/CHANGES
- # aport/Makefile aport/djberr.h aport/listaport.man clients
- # clients/CHANGES clients/Makefile clients/date@ clients/date@.man
- # clients/echoconnect clients/echoconnect.man clients/finger@
- # clients/finger@.man clients/mconnect clients/mconnect.man
- # clients/nconnect clients/nconnect.man clients/nullconnect
- # clients/nullconnect.man clients/who@ clients/who@.man
- # sendmail-auth sendmail-auth/CHANGES sendmail-auth/cf.include
- # sendmail-auth/in.maild sendmail-auth/out.mail
- # sendmail-auth/rc.include servers servers/CHANGES
- # servers/in.daytimed servers/in.echod servers/in.fingerd
- # servers/in.nulld servers/in.usersd servers/out.finger
- # servers/out.fingerlocal servers/out.fingernet servers/rc.include
- # servers/startservers tam tam/CHANGES tam/Makefile tam/rc.include
- # tam/services.include tam/tam2look tam/tam2look.man tam/tam2mail
- # tam/tam2mail.man tam/tamd tam/tamd.man tam/tamdel.man
- # tam/tamprint.c tam/tamprint.man tam/tamsend tam/tamsend.man
- # tam/tamsetup.c tam/tamsetup.man util util/CHANGES util/Makefile
- # util/README util/addcr.c util/addcr.man util/delcr.c
- # util/delcr.man util/flock.c util/flock.man util/rewind.c
- # util/rewind.man util/setuid.c util/setuid.man util/u@h2h.c
- # util/u@h2h.man util/u@h2u.c util/u@h2u.man
- # Wrapped by rsalz@litchi.bbn.com on Mon Apr 30 16:18:23 1990
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'CHANGES' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'CHANGES'\"
- else
- echo shar: Extracting \"'CHANGES'\" \(31 characters\)
- sed "s/^X//" >'CHANGES' <<'END_OF_FILE'
- X4/20/90: servers 1.0 complete.
- END_OF_FILE
- if test 31 -ne `wc -c <'CHANGES'`; then
- echo shar: \"'CHANGES'\" unpacked with wrong size!
- fi
- # end of 'CHANGES'
- fi
- if test -f 'FILES' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'FILES'\"
- else
- echo shar: Extracting \"'FILES'\" \(1500 characters\)
- sed "s/^X//" >'FILES' <<'END_OF_FILE'
- XCHANGES
- XFILES
- XREADME
- XVERSIONS
- Xsendmail-auth
- Xsendmail-auth/CHANGES
- Xsendmail-auth/README
- Xsendmail-auth/cf.include
- Xsendmail-auth/rc.include
- Xsendmail-auth/in.maild
- Xsendmail-auth/out.mail
- Xtam
- Xtam/CHANGES
- Xtam/README
- Xtam/Makefile
- Xtam/rc.include
- Xtam/services.include
- Xtam/tamd
- Xtam/tamdel.c
- Xtam/tamprint.c
- Xtam/tamsetup.c
- Xtam/tam2look
- Xtam/tam2mail
- Xtam/tamsend
- Xtam/tamd.man
- Xtam/tamdel.man
- Xtam/tamprint.man
- Xtam/tamsetup.man
- Xtam/tam2look.man
- Xtam/tam2mail.man
- Xtam/tamsend.man
- Xtam/TAM.doc
- Xclients
- Xclients/CHANGES
- Xclients/README
- Xclients/Makefile
- Xclients/date@
- Xclients/finger@
- Xclients/who@
- Xclients/mconnect
- Xclients/nconnect
- Xclients/echoconnect
- Xclients/nullconnect
- Xclients/inews
- Xclients/date@.man
- Xclients/finger@.man
- Xclients/who@.man
- Xclients/mconnect.man
- Xclients/nconnect.man
- Xclients/echoconnect.man
- Xclients/nullconnect.man
- Xservers
- Xservers/CHANGES
- Xservers/README
- Xservers/in.chargend
- Xservers/in.daytimed
- Xservers/in.echod
- Xservers/in.fingerd
- Xservers/in.nulld
- Xservers/in.usersd
- Xservers/out.finger
- Xservers/out.fingerlocal
- Xservers/out.fingernet
- Xservers/rc.include
- Xservers/services
- Xservers/startservers
- Xutil
- Xutil/CHANGES
- Xutil/README
- Xutil/Makefile
- Xutil/addcr.c
- Xutil/addcr.man
- Xutil/delcr.c
- Xutil/delcr.man
- Xutil/flock.c
- Xutil/flock.man
- Xutil/rewind.c
- Xutil/rewind.man
- Xutil/setuid.c
- Xutil/setuid.man
- Xutil/u@h2h.c
- Xutil/u@h2h.man
- Xutil/u@h2u.c
- Xutil/u@h2u.man
- Xaport
- Xaport/CHANGES
- Xaport/README
- Xaport/Makefile
- Xaport/djberr.h
- Xaport/killaport.c
- Xaport/listaport.c
- Xaport/checkaport.c
- Xaport/killaport.man
- Xaport/listaport.man
- Xaport/checkaport.man
- END_OF_FILE
- if test 1500 -ne `wc -c <'FILES'`; then
- echo shar: \"'FILES'\" unpacked with wrong size!
- fi
- # end of 'FILES'
- fi
- if test -f 'MANIFEST' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'MANIFEST'\"
- else
- echo shar: Extracting \"'MANIFEST'\" \(3090 characters\)
- sed "s/^X//" >'MANIFEST' <<'END_OF_FILE'
- X File Name Archive # Description
- X-----------------------------------------------------------
- X CHANGES 1
- X FILES 1
- X MANIFEST 1 This shipping list
- X README 1
- X VERSIONS 1
- X aport 1
- X aport/CHANGES 1
- X aport/Makefile 1
- X aport/README 2
- X aport/checkaport.c 3
- X aport/checkaport.man 2
- X aport/djberr.h 1
- X aport/killaport.c 2
- X aport/killaport.man 2
- X aport/listaport.c 2
- X aport/listaport.man 1
- X clients 1
- X clients/CHANGES 1
- X clients/Makefile 1
- X clients/README 2
- X clients/date@ 1
- X clients/date@.man 1
- X clients/echoconnect 1
- X clients/echoconnect.man 1
- X clients/finger@ 1
- X clients/finger@.man 1
- X clients/inews 2
- X clients/mconnect 1
- X clients/mconnect.man 1
- X clients/nconnect 1
- X clients/nconnect.man 1
- X clients/nullconnect 1
- X clients/nullconnect.man 1
- X clients/who@ 1
- X clients/who@.man 1
- X sendmail-auth 1
- X sendmail-auth/CHANGES 1
- X sendmail-auth/README 2
- X sendmail-auth/cf.include 1
- X sendmail-auth/in.maild 1
- X sendmail-auth/out.mail 1
- X sendmail-auth/rc.include 1
- X servers 1
- X servers/CHANGES 1
- X servers/README 2
- X servers/in.chargend 2
- X servers/in.daytimed 1
- X servers/in.echod 1
- X servers/in.fingerd 1
- X servers/in.nulld 1
- X servers/in.usersd 1
- X servers/out.finger 1
- X servers/out.fingerlocal 1
- X servers/out.fingernet 1
- X servers/rc.include 1
- X servers/services 2
- X servers/startservers 1
- X tam 1
- X tam/CHANGES 1
- X tam/Makefile 1
- X tam/README 2
- X tam/TAM.doc 2
- X tam/rc.include 1
- X tam/services.include 1
- X tam/tam2look 1
- X tam/tam2look.man 1
- X tam/tam2mail 1
- X tam/tam2mail.man 1
- X tam/tamd 1
- X tam/tamd.man 1
- X tam/tamdel.c 2
- X tam/tamdel.man 1
- X tam/tamprint.c 1
- X tam/tamprint.man 1
- X tam/tamsend 1
- X tam/tamsend.man 1
- X tam/tamsetup.c 1
- X tam/tamsetup.man 1
- X util 1
- X util/CHANGES 1
- X util/Makefile 1
- X util/README 1
- X util/addcr.c 1
- X util/addcr.man 1
- X util/delcr.c 1
- X util/delcr.man 1
- X util/flock.c 1
- X util/flock.man 1
- X util/rewind.c 1
- X util/rewind.man 1
- X util/setuid.c 1
- X util/setuid.man 1
- X util/u@h2h.c 1
- X util/u@h2h.man 1
- X util/u@h2u.c 1
- X util/u@h2u.man 1
- END_OF_FILE
- if test 3090 -ne `wc -c <'MANIFEST'`; then
- echo shar: \"'MANIFEST'\" unpacked with wrong size!
- fi
- # end of 'MANIFEST'
- fi
- if test -f 'README' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'README'\"
- else
- echo shar: Extracting \"'README'\" \(1251 characters\)
- sed "s/^X//" >'README' <<'END_OF_FILE'
- Xauthutil 1.0 - scripts and utilities for auth
- X
- XThis package is a collection of shell scripts and utilities, some
- Xillustrating how to use the auth package, some making it easier to use.
- XNone of authutil is strictly necessary for installing and using auth,
- Xbut you'll probably find it worthwhile to at least glance through each
- Xdirectory. Users are encouraged to submit small, generally useful
- Xscripts and utilities to Daniel J. Bernstein, brnstnd@acf10.nyu.edu,
- Xfor possible incorporation into the next authutil version.
- X
- XThis distribution packaged April 20, 1990.
- X
- XFiles:
- XCHANGES Description of changes since first distributed version
- XREADME This document
- XVERSIONS Version listing
- XFILES Manifest
- X
- XDirectories:
- Xaport Utilities to give better control over attachport and authtcp
- Xclients Scripts using authtcp for standard TCP clients
- Xservers Scripts using attachport for standard TCP servers
- Xsendmail-auth How to configure sendmail to use auth
- Xtam TAM: the Trivial Authenticated Mail system
- Xutil Short, general utility programs
- X
- XThe directories are independent, so there's no top-level Makefile. You
- Xshould go through the README files in each directory one at a time.
- END_OF_FILE
- if test 1251 -ne `wc -c <'README'`; then
- echo shar: \"'README'\" unpacked with wrong size!
- fi
- # end of 'README'
- fi
- if test -f 'VERSIONS' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'VERSIONS'\"
- else
- echo shar: Extracting \"'VERSIONS'\" \(1043 characters\)
- sed "s/^X//" >'VERSIONS' <<'END_OF_FILE'
- X 4/23/90: authutil 1.0
- X 4/23/90: sendmail-auth 1.0
- X 4/23/90: tam 1.0
- X 4/23/90: tamd 1.0
- X 4/23/90: tamdel 1.0
- X 4/23/90: tamprint 1.0
- X 4/23/90: tamsetup 1.0
- X 4/23/90: tam2look 1.0
- X 4/23/90: tam2mail 1.0
- X 4/23/90: tamsend 1.0
- X 4/20/90: clients 1.0
- X 4/20/90: date@ 1.0
- X 4/20/90: finger@ 1.0
- X 4/20/90: who@ 1.0
- X 4/20/90: mconnect 1.0
- X 4/20/90: nconnect 1.0
- X 4/20/90: echoconnect 1.0
- X 4/20/90: nullconnect 1.0
- X 4/20/90: inews 1.0
- X 4/20/90: servers 1.0
- X 4/20/90: in.chargend 1.0
- X 4/20/90: in.daytimed 1.0
- X 4/20/90: in.echod 1.0
- X 4/20/90: in.fingerd 1.0
- X 4/20/90: in.nulld 1.0
- X 4/20/90: in.usersd 1.0
- X 4/20/90: out.finger 1.0
- X 4/20/90: startservers 1.0
- X 4/20/90: util 1.0
- X 4/20/90: addcr 1.0
- X 4/20/90: delcr 1.0
- X 4/20/90: flock 1.0
- X 4/20/90: rewind 1.0
- X 4/20/90: setuid 1.0
- X 4/20/90: u@h2h 1.0
- X 4/20/90: u@h2u 1.0
- X 4/23/90: aport 1.0
- X 4/23/90: killaport 1.0
- X 4/23/90: listaport 1.0
- X 4/23/90: checkaport 1.0
- END_OF_FILE
- if test 1043 -ne `wc -c <'VERSIONS'`; then
- echo shar: \"'VERSIONS'\" unpacked with wrong size!
- fi
- # end of 'VERSIONS'
- fi
- if test ! -d 'aport' ; then
- echo shar: Creating directory \"'aport'\"
- mkdir 'aport'
- fi
- if test -f 'aport/CHANGES' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'aport/CHANGES'\"
- else
- echo shar: Extracting \"'aport/CHANGES'\" \(135 characters\)
- sed "s/^X//" >'aport/CHANGES' <<'END_OF_FILE'
- X4/23/90: aport utilities version 1.0.
- X4/23/90: checkaport version 1.0.
- X4/23/90: killaport version 1.0.
- X4/23/90: listaport version 1.0.
- END_OF_FILE
- if test 135 -ne `wc -c <'aport/CHANGES'`; then
- echo shar: \"'aport/CHANGES'\" unpacked with wrong size!
- fi
- # end of 'aport/CHANGES'
- fi
- if test -f 'aport/Makefile' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'aport/Makefile'\"
- else
- echo shar: Extracting \"'aport/Makefile'\" \(757 characters\)
- sed "s/^X//" >'aport/Makefile' <<'END_OF_FILE'
- XCC=cc
- XCCOPTS=-s -O
- X
- X# -DAUTHDIR=\"directory\" to override default of /usr/etc/auth;
- X# should be the same as in the auth package
- X
- XNROFF=nroff
- XNROFFOPTS=-man
- X
- Xdefault: all
- X
- Xall: listaport killaport checkaport listaport.1 killaport.1 checkaport.8
- X
- Xcheckaport: checkaport.c Makefile
- X cc $(CCOPTS) -o checkaport checkaport.c
- X
- Xcheckaport.8: checkaport.man Makefile
- X nroff $(NROFFOPTS) < checkaport.man > checkaport.8
- X
- Xkillaport: killaport.c Makefile
- X cc $(CCOPTS) -o killaport killaport.c
- X
- Xkillaport.1: killaport.man Makefile
- X nroff $(NROFFOPTS) < killaport.man > killaport.1
- X
- Xlistaport: listaport.c Makefile
- X cc $(CCOPTS) -o listaport listaport.c
- X
- Xlistaport.1: listaport.man Makefile
- X nroff $(NROFFOPTS) < listaport.man > listaport.1
- END_OF_FILE
- if test 757 -ne `wc -c <'aport/Makefile'`; then
- echo shar: \"'aport/Makefile'\" unpacked with wrong size!
- fi
- # end of 'aport/Makefile'
- fi
- if test -f 'aport/djberr.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'aport/djberr.h'\"
- else
- echo shar: Extracting \"'aport/djberr.h'\" \(491 characters\)
- sed "s/^X//" >'aport/djberr.h' <<'END_OF_FILE'
- X/* djberr.h, 11/1/89. */
- X
- X#ifndef __DJBERRH_
- X#define __DJBERRH_
- X
- Xextern int errno;
- X
- X#define errn(s) (((void) fputs(s,stderr)), putc('\n',stderr))
- X#define err(s) (fputs(s,stderr))
- X#define errn2(s,t) (((void) fprintf(stderr,s,t)), putc('\n',stderr))
- X#define errn3(s,t,u) (((void) fprintf(stderr,s,t,u)), putc('\n',stderr))
- X#define perrn2(s,t) { int dummyerrno = errno; (void) fprintf(stderr,s,t); \
- X (void) fputs(": ",stderr); errno = dummyerrno; \
- X (void) perror(""); }
- X
- X#endif
- END_OF_FILE
- if test 491 -ne `wc -c <'aport/djberr.h'`; then
- echo shar: \"'aport/djberr.h'\" unpacked with wrong size!
- fi
- # end of 'aport/djberr.h'
- fi
- if test -f 'aport/listaport.man' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'aport/listaport.man'\"
- else
- echo shar: Extracting \"'aport/listaport.man'\" \(1480 characters\)
- sed "s/^X//" >'aport/listaport.man' <<'END_OF_FILE'
- X.TH listaport 1
- X.SH NAME
- Xlistaport \- list all current attachports you own
- X.SH SYNTAX
- Xlistaport
- X[
- X\fB\-ACHUVW\fI
- X]
- X.SH DESCRIPTION
- X.I listaport
- Xgives the
- Xuser name, port number, and process id
- Xfor every
- X.I attachport
- Xyou own,
- Xor for every
- X.I attachport
- Xrunning on the system
- Xif you are root.
- X.PP
- XOptions
- X.B ACHUVW
- Xprint the authorship notice,
- Xcopyright notice,
- Xhelp notice,
- Xshort usage summary,
- Xversion number,
- Xand warranty information respectively.
- X.SH FILES
- X/usr/etc/auth/tcp
- XAuthentication directory
- X.SH "EXIT VALUE"
- X0 upon success;
- X1 for usage messages;
- X2 if
- X.I listaport
- Xcan't get into the authentication directory;
- X3 if
- X.I listaport
- Xcan't read the authentication directory;
- X4 if you're not listed in your password file.
- X.SH DIAGNOSTICS
- X.TP
- X.I who are you?
- XYou're not listed in your password file.
- X.TP
- X.I cannot change to directory
- X.I listaport
- Xdoesn't have access to the authentication directory.
- X.TP
- X.I cannot read directory
- XShouldn't happen.
- X.TP
- X.I warning: cannot open lock file
- XShouldn't happen.
- X.TP
- X.I warning: cannot read lock file
- XShouldn't happen.
- X.TP
- X.I warning: corrupted lock file
- XSomeone has attempted to breach
- X.I attachport
- Xsecurity on this port.
- XReport this condition to your
- Xsystem administrator.
- X.SH BUGS
- XNone known.
- X.SH MACHINES
- X.I listaport
- Xhas been tested
- Xon an Astronautics ZS-2 running ZSUnix.
- X.SH VERSION
- Xlistaport version 1.0, dated 4/23/90.
- X.SH AUTHOR
- XCopyright 1990, Daniel J. Bernstein.
- X.SH "SEE ALSO"
- Xattachport(1),
- Xkillaport(1),
- Xcheckaport(8)
- END_OF_FILE
- if test 1480 -ne `wc -c <'aport/listaport.man'`; then
- echo shar: \"'aport/listaport.man'\" unpacked with wrong size!
- fi
- # end of 'aport/listaport.man'
- fi
- if test ! -d 'clients' ; then
- echo shar: Creating directory \"'clients'\"
- mkdir 'clients'
- fi
- if test -f 'clients/CHANGES' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'clients/CHANGES'\"
- else
- echo shar: Extracting \"'clients/CHANGES'\" \(30 characters\)
- sed "s/^X//" >'clients/CHANGES' <<'END_OF_FILE'
- X4/20/90: clients version 1.0.
- END_OF_FILE
- if test 30 -ne `wc -c <'clients/CHANGES'`; then
- echo shar: \"'clients/CHANGES'\" unpacked with wrong size!
- fi
- # end of 'clients/CHANGES'
- fi
- if test -f 'clients/Makefile' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'clients/Makefile'\"
- else
- echo shar: Extracting \"'clients/Makefile'\" \(735 characters\)
- sed "s/^X//" >'clients/Makefile' <<'END_OF_FILE'
- XCC=cc
- XCCOPTS=-s -O
- XNROFF=nroff
- XNROFFOPTS=-man
- X
- Xdefault: all
- X
- Xall: date@.1 finger@.1 who@.1 mconnect.1 nconnect.1 echoconnect.1 nullconnect.1
- X
- Xdate@.1: date@.man Makefile
- X $(NROFF) $(NROFFOPTS) < date@.man > date@.1
- X
- Xfinger@.1: finger@.man Makefile
- X $(NROFF) $(NROFFOPTS) < finger@.man > finger@.1
- X
- Xwho@.1: who@.man Makefile
- X $(NROFF) $(NROFFOPTS) < who@.man > who@.1
- X
- Xmconnect.1: mconnect.man Makefile
- X $(NROFF) $(NROFFOPTS) < mconnect.man > mconnect.1
- X
- Xnconnect.1: nconnect.man Makefile
- X $(NROFF) $(NROFFOPTS) < nconnect.man > nconnect.1
- X
- Xechoconnect.1: echoconnect.man Makefile
- X $(NROFF) $(NROFFOPTS) < echoconnect.man > echoconnect.1
- X
- Xnullconnect.1: nullconnect.man Makefile
- X $(NROFF) $(NROFFOPTS) < nullconnect.man > nullconnect.1
- END_OF_FILE
- if test 735 -ne `wc -c <'clients/Makefile'`; then
- echo shar: \"'clients/Makefile'\" unpacked with wrong size!
- fi
- # end of 'clients/Makefile'
- fi
- if test -f 'clients/date@' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'clients/date@'\"
- else
- echo shar: Extracting \"'clients/date@'\" \(179 characters\)
- sed "s/^X//" >'clients/date@' <<'END_OF_FILE'
- X#!/bin/sh
- X# date@ version 1.0, 4/20/90.
- X# Placed into the public domain by Daniel J. Bernstein.
- X# Requires delcr.
- Xauthtcp -XR -- "${1-`hostname`}" daytime sh -c 'cat <&6' | delcr
- END_OF_FILE
- if test 179 -ne `wc -c <'clients/date@'`; then
- echo shar: \"'clients/date@'\" unpacked with wrong size!
- fi
- chmod +x 'clients/date@'
- # end of 'clients/date@'
- fi
- if test -f 'clients/date@.man' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'clients/date@.man'\"
- else
- echo shar: Extracting \"'clients/date@.man'\" \(319 characters\)
- sed "s/^X//" >'clients/date@.man' <<'END_OF_FILE'
- X.TH date@ 1
- X.SH NAME
- Xdate@ \- print date on remote host
- X.SH SYNTAX
- Xdate@
- X[
- X.I host
- X]
- X.SH DESCRIPTION
- X.I date@
- Xprints the date on a remote host
- Xthrough the
- Xdaytime server.
- XIf
- X.I host
- Xis not given,
- X.I date@
- Xconnects to the local daytime server.
- X.SH VERSION
- Xdate@ version 1.0, dated April 20, 1990.
- X.SH "SEE ALSO"
- Xdate(1)
- END_OF_FILE
- if test 319 -ne `wc -c <'clients/date@.man'`; then
- echo shar: \"'clients/date@.man'\" unpacked with wrong size!
- fi
- # end of 'clients/date@.man'
- fi
- if test -f 'clients/echoconnect' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'clients/echoconnect'\"
- else
- echo shar: Extracting \"'clients/echoconnect'\" \(158 characters\)
- sed "s/^X//" >'clients/echoconnect' <<'END_OF_FILE'
- X#!/bin/sh
- X# echoconnect version 1.0, 4/20/90.
- X# Placed into the public domain by Daniel J. Bernstein.
- Xauthtcp -XRv -- "${1-`hostname`}" echo multitee 0:6 6:1
- END_OF_FILE
- if test 158 -ne `wc -c <'clients/echoconnect'`; then
- echo shar: \"'clients/echoconnect'\" unpacked with wrong size!
- fi
- chmod +x 'clients/echoconnect'
- # end of 'clients/echoconnect'
- fi
- if test -f 'clients/echoconnect.man' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'clients/echoconnect.man'\"
- else
- echo shar: Extracting \"'clients/echoconnect.man'\" \(349 characters\)
- sed "s/^X//" >'clients/echoconnect.man' <<'END_OF_FILE'
- X.TH echoconnect 1
- X.SH NAME
- Xechoconnect \- connect to an echo server
- X.SH SYNTAX
- Xechoconnect
- X[
- X.I host
- X]
- X.SH DESCRIPTION
- X.I echoconnect
- Xopens a connection to the echo server on a given host.
- XIf
- X.I host
- Xis not given,
- X.I echoconnect
- Xconnects to the local echo server.
- X.SH VERSION
- Xechoconnect version 1.0, dated April 20, 1990.
- X.SH "SEE ALSO"
- Xauthtcp(1)
- END_OF_FILE
- if test 349 -ne `wc -c <'clients/echoconnect.man'`; then
- echo shar: \"'clients/echoconnect.man'\" unpacked with wrong size!
- fi
- # end of 'clients/echoconnect.man'
- fi
- if test -f 'clients/finger@' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'clients/finger@'\"
- else
- echo shar: Extracting \"'clients/finger@'\" \(232 characters\)
- sed "s/^X//" >'clients/finger@' <<'END_OF_FILE'
- X#!/bin/sh
- X# finger@ version 1.0, 4/20/90.
- X# Placed into the public domain by Daniel J. Bernstein.
- X# Requires addcr, delcr.
- Xauthtcp -XRv -- "${1-`hostname`}" finger \
- Xsh -c 'echo -n '"${2-}"' | addcr >&6;echo "" >&6;cat <&6' | delcr
- END_OF_FILE
- if test 232 -ne `wc -c <'clients/finger@'`; then
- echo shar: \"'clients/finger@'\" unpacked with wrong size!
- fi
- chmod +x 'clients/finger@'
- # end of 'clients/finger@'
- fi
- if test -f 'clients/finger@.man' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'clients/finger@.man'\"
- else
- echo shar: Extracting \"'clients/finger@.man'\" \(404 characters\)
- sed "s/^X//" >'clients/finger@.man' <<'END_OF_FILE'
- X.TH finger@ 1
- X.SH NAME
- Xfinger@ \- finger users on remote host
- X.SH SYNTAX
- Xfinger@
- X[
- X.I host
- X[
- X.I user
- X] ]
- X.SH DESCRIPTION
- X.I finger@
- Xfingers users on a remote host
- Xthrough the
- Xfinger server.
- XIf
- X.I host
- Xis not given,
- X.I date@
- Xconnects to the local finger server.
- XIf
- X.I user
- Xis not given,
- X.I finger@
- Xshows all users logged on.
- X.SH VERSION
- Xfinger@ version 1.0, dated April 20, 1990.
- X.SH "SEE ALSO"
- Xfinger(1)
- END_OF_FILE
- if test 404 -ne `wc -c <'clients/finger@.man'`; then
- echo shar: \"'clients/finger@.man'\" unpacked with wrong size!
- fi
- # end of 'clients/finger@.man'
- fi
- if test -f 'clients/mconnect' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'clients/mconnect'\"
- else
- echo shar: Extracting \"'clients/mconnect'\" \(195 characters\)
- sed "s/^X//" >'clients/mconnect' <<'END_OF_FILE'
- X#!/bin/sh
- X# mconnect version 1.0, 4/20/90.
- X# Placed into the public domain by Daniel J. Bernstein.
- X# Requires addcr, delcr.
- Xaddcr | authtcp -Rv -- "${1-`hostname`}" smtp multitee 0:6 6:1 | delcr
- END_OF_FILE
- if test 195 -ne `wc -c <'clients/mconnect'`; then
- echo shar: \"'clients/mconnect'\" unpacked with wrong size!
- fi
- chmod +x 'clients/mconnect'
- # end of 'clients/mconnect'
- fi
- if test -f 'clients/mconnect.man' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'clients/mconnect.man'\"
- else
- echo shar: Extracting \"'clients/mconnect.man'\" \(344 characters\)
- sed "s/^X//" >'clients/mconnect.man' <<'END_OF_FILE'
- X.TH mconnect 1
- X.SH NAME
- Xmconnect \- connect to a mail (SMTP) server
- X.SH SYNTAX
- Xmconnect
- X[
- X.I host
- X]
- X.SH DESCRIPTION
- X.I mconnect
- Xopens a connection to the mail (SMTP) server on a given host.
- XIf
- X.I host
- Xis not given,
- X.I mconnect
- Xconnects to the local mail server.
- X.SH VERSION
- Xmconnect version 1.0, dated April 20, 1990.
- X.SH "SEE ALSO"
- Xauthtcp(1)
- END_OF_FILE
- if test 344 -ne `wc -c <'clients/mconnect.man'`; then
- echo shar: \"'clients/mconnect.man'\" unpacked with wrong size!
- fi
- # end of 'clients/mconnect.man'
- fi
- if test -f 'clients/nconnect' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'clients/nconnect'\"
- else
- echo shar: Extracting \"'clients/nconnect'\" \(195 characters\)
- sed "s/^X//" >'clients/nconnect' <<'END_OF_FILE'
- X#!/bin/sh
- X# nconnect version 1.0, 4/20/90.
- X# Placed into the public domain by Daniel J. Bernstein.
- X# Requires addcr, delcr.
- Xaddcr | authtcp -Rv -- "${1-`hostname`}" nntp multitee 0:6 6:1 | delcr
- END_OF_FILE
- if test 195 -ne `wc -c <'clients/nconnect'`; then
- echo shar: \"'clients/nconnect'\" unpacked with wrong size!
- fi
- chmod +x 'clients/nconnect'
- # end of 'clients/nconnect'
- fi
- if test -f 'clients/nconnect.man' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'clients/nconnect.man'\"
- else
- echo shar: Extracting \"'clients/nconnect.man'\" \(344 characters\)
- sed "s/^X//" >'clients/nconnect.man' <<'END_OF_FILE'
- X.TH nconnect 1
- X.SH NAME
- Xnconnect \- connect to a news (NNTP) server
- X.SH SYNTAX
- Xnconnect
- X[
- X.I host
- X]
- X.SH DESCRIPTION
- X.I nconnect
- Xopens a connection to the news (NNTP) server on a given host.
- XIf
- X.I host
- Xis not given,
- X.I nconnect
- Xconnects to the local news server.
- X.SH VERSION
- Xnconnect version 1.0, dated April 20, 1990.
- X.SH "SEE ALSO"
- Xauthtcp(1)
- END_OF_FILE
- if test 344 -ne `wc -c <'clients/nconnect.man'`; then
- echo shar: \"'clients/nconnect.man'\" unpacked with wrong size!
- fi
- # end of 'clients/nconnect.man'
- fi
- if test -f 'clients/nullconnect' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'clients/nullconnect'\"
- else
- echo shar: Extracting \"'clients/nullconnect'\" \(161 characters\)
- sed "s/^X//" >'clients/nullconnect' <<'END_OF_FILE'
- X#!/bin/sh
- X# nullconnect version 1.0, 4/20/90.
- X# Placed into the public domain by Daniel J. Bernstein.
- Xauthtcp -XRv -- "${1-`hostname`}" discard multitee 0:6 6:1
- END_OF_FILE
- if test 161 -ne `wc -c <'clients/nullconnect'`; then
- echo shar: \"'clients/nullconnect'\" unpacked with wrong size!
- fi
- chmod +x 'clients/nullconnect'
- # end of 'clients/nullconnect'
- fi
- if test -f 'clients/nullconnect.man' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'clients/nullconnect.man'\"
- else
- echo shar: Extracting \"'clients/nullconnect.man'\" \(357 characters\)
- sed "s/^X//" >'clients/nullconnect.man' <<'END_OF_FILE'
- X.TH nullconnect 1
- X.SH NAME
- Xnullconnect \- connect to a discard server
- X.SH SYNTAX
- Xnullconnect
- X[
- X.I host
- X]
- X.SH DESCRIPTION
- X.I nullconnect
- Xopens a connection to the discard server on a given host.
- XIf
- X.I host
- Xis not given,
- X.I nullconnect
- Xconnects to the local discard server.
- X.SH VERSION
- Xnullconnect version 1.0, dated April 20, 1990.
- X.SH "SEE ALSO"
- Xauthtcp(1)
- END_OF_FILE
- if test 357 -ne `wc -c <'clients/nullconnect.man'`; then
- echo shar: \"'clients/nullconnect.man'\" unpacked with wrong size!
- fi
- # end of 'clients/nullconnect.man'
- fi
- if test -f 'clients/who@' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'clients/who@'\"
- else
- echo shar: Extracting \"'clients/who@'\" \(176 characters\)
- sed "s/^X//" >'clients/who@' <<'END_OF_FILE'
- X#!/bin/sh
- X# who@ version 1.0, 4/20/90.
- X# Placed into the public domain by Daniel J. Bernstein.
- X# Requires delcr.
- Xauthtcp -XR -- "${1-`hostname`}" users sh -c 'cat <&6' | delcr
- END_OF_FILE
- if test 176 -ne `wc -c <'clients/who@'`; then
- echo shar: \"'clients/who@'\" unpacked with wrong size!
- fi
- chmod +x 'clients/who@'
- # end of 'clients/who@'
- fi
- if test -f 'clients/who@.man' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'clients/who@.man'\"
- else
- echo shar: Extracting \"'clients/who@.man'\" \(320 characters\)
- sed "s/^X//" >'clients/who@.man' <<'END_OF_FILE'
- X.TH who@ 1
- X.SH NAME
- Xwho@ \- print users on remote host
- X.SH SYNTAX
- Xwho@
- X[
- X.I host
- X]
- X.SH DESCRIPTION
- X.I who@
- Xlists the users logged onto a remote host
- Xthrough the
- Xsystat server.
- XIf
- X.I host
- Xis not given,
- X.I who@
- Xconnects to the local systat server.
- X.SH VERSION
- Xwho@ version 1.0, dated April 20, 1990.
- X.SH "SEE ALSO"
- Xwho(1)
- END_OF_FILE
- if test 320 -ne `wc -c <'clients/who@.man'`; then
- echo shar: \"'clients/who@.man'\" unpacked with wrong size!
- fi
- # end of 'clients/who@.man'
- fi
- if test ! -d 'sendmail-auth' ; then
- echo shar: Creating directory \"'sendmail-auth'\"
- mkdir 'sendmail-auth'
- fi
- if test -f 'sendmail-auth/CHANGES' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'sendmail-auth/CHANGES'\"
- else
- echo shar: Extracting \"'sendmail-auth/CHANGES'\" \(36 characters\)
- sed "s/^X//" >'sendmail-auth/CHANGES' <<'END_OF_FILE'
- X4/23/90: sendmail-auth verison 1.0.
- END_OF_FILE
- if test 36 -ne `wc -c <'sendmail-auth/CHANGES'`; then
- echo shar: \"'sendmail-auth/CHANGES'\" unpacked with wrong size!
- fi
- # end of 'sendmail-auth/CHANGES'
- fi
- if test -f 'sendmail-auth/cf.include' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'sendmail-auth/cf.include'\"
- else
- echo shar: Extracting \"'sendmail-auth/cf.include'\" \(288 characters\)
- sed "s/^X//" >'sendmail-auth/cf.include' <<'END_OF_FILE'
- X# Old: Mtcp, P=[IPC], F=AmnDFMpueXLC, S=14, R=14, A=IPC $h, E=\r\n
- X# Note that the builtin IPC uses [in.et.num.ber] for direct addresses.
- X# authtcp simply accepts the addresses without the brackets, as it should.
- XMtcp, P=/etc/out.mail, F=AmnDFMpueXLC, S=14, R=14, A=out.mail $h, E=\r\n
- END_OF_FILE
- if test 288 -ne `wc -c <'sendmail-auth/cf.include'`; then
- echo shar: \"'sendmail-auth/cf.include'\" unpacked with wrong size!
- fi
- # end of 'sendmail-auth/cf.include'
- fi
- if test -f 'sendmail-auth/in.maild' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'sendmail-auth/in.maild'\"
- else
- echo shar: Extracting \"'sendmail-auth/in.maild'\" \(369 characters\)
- sed "s/^X//" >'sendmail-auth/in.maild' <<'END_OF_FILE'
- X#!/bin/sh
- XLOG=/usr/adm/in.mail.log
- X
- Xif /usr/ucb/printenv REMOTE | /bin/grep -s '^@[^@]*$'
- Xthen # put here what you want to do for unauthenticated connections
- X /usr/bin/sleep 5 # let him know we care
- Xfi
- X
- X/bin/echo "Date: `date` $$ from $REMOTE via $PROTO" >>"$LOG" 2>/dev/null
- X/usr/lib/sendmail -bs
- X/bin/echo "Done: `date` $$ `sh -c 'echo $$'`" >>"$LOG" 2>/dev/null
- END_OF_FILE
- if test 369 -ne `wc -c <'sendmail-auth/in.maild'`; then
- echo shar: \"'sendmail-auth/in.maild'\" unpacked with wrong size!
- fi
- chmod +x 'sendmail-auth/in.maild'
- # end of 'sendmail-auth/in.maild'
- fi
- if test -f 'sendmail-auth/out.mail' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'sendmail-auth/out.mail'\"
- else
- echo shar: Extracting \"'sendmail-auth/out.mail'\" \(188 characters\)
- sed "s/^X//" >'sendmail-auth/out.mail' <<'END_OF_FILE'
- X#!/bin/sh
- Xexec 3>&1
- X/usr/local/authtcp -- "$1" smtp /usr/local/multitee 0:6 6:3 2>&1 \
- X| /bin/sed 's-^-421 -' | /bin/sed -n 'p
- X$i\
- X221 So long from your friendly local mailer.' >&3
- Xexit 0
- END_OF_FILE
- if test 188 -ne `wc -c <'sendmail-auth/out.mail'`; then
- echo shar: \"'sendmail-auth/out.mail'\" unpacked with wrong size!
- fi
- chmod +x 'sendmail-auth/out.mail'
- # end of 'sendmail-auth/out.mail'
- fi
- if test -f 'sendmail-auth/rc.include' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'sendmail-auth/rc.include'\"
- else
- echo shar: Extracting \"'sendmail-auth/rc.include'\" \(259 characters\)
- sed "s/^X//" >'sendmail-auth/rc.include' <<'END_OF_FILE'
- X#!/bin/sh
- X
- Xif [ -f /usr/lib/sendmail ]; then
- X (cd /usr/spool/mqueue;rm -f lf*)
- X echo 'starting sendmail daemon' > /dev/console 2>&1
- X# /usr/lib/sendmail -bd -q30m
- X /usr/lib/sendmail -q30m
- X /usr/local/attachport -vp smtp /etc/in.maild > /dev/console 2>&1 &
- Xfi
- END_OF_FILE
- if test 259 -ne `wc -c <'sendmail-auth/rc.include'`; then
- echo shar: \"'sendmail-auth/rc.include'\" unpacked with wrong size!
- fi
- chmod +x 'sendmail-auth/rc.include'
- # end of 'sendmail-auth/rc.include'
- fi
- if test ! -d 'servers' ; then
- echo shar: Creating directory \"'servers'\"
- mkdir 'servers'
- fi
- if test -f 'servers/CHANGES' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'servers/CHANGES'\"
- else
- echo shar: Extracting \"'servers/CHANGES'\" \(30 characters\)
- sed "s/^X//" >'servers/CHANGES' <<'END_OF_FILE'
- X4/20/90: servers package 1.0.
- END_OF_FILE
- if test 30 -ne `wc -c <'servers/CHANGES'`; then
- echo shar: \"'servers/CHANGES'\" unpacked with wrong size!
- fi
- # end of 'servers/CHANGES'
- fi
- if test -f 'servers/in.daytimed' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'servers/in.daytimed'\"
- else
- echo shar: Extracting \"'servers/in.daytimed'\" \(133 characters\)
- sed "s/^X//" >'servers/in.daytimed' <<'END_OF_FILE'
- X#!/bin/sh
- X# in.daytimed version 1.0, 4/20/90.
- X# Placed into the public domain by Daniel J. Bernstein.
- X# Requires addcr.
- Xdate | addcr
- END_OF_FILE
- if test 133 -ne `wc -c <'servers/in.daytimed'`; then
- echo shar: \"'servers/in.daytimed'\" unpacked with wrong size!
- fi
- chmod +x 'servers/in.daytimed'
- # end of 'servers/in.daytimed'
- fi
- if test -f 'servers/in.echod' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'servers/in.echod'\"
- else
- echo shar: Extracting \"'servers/in.echod'\" \(106 characters\)
- sed "s/^X//" >'servers/in.echod' <<'END_OF_FILE'
- X#!/bin/sh
- X# in.daytimed version 1.0, 4/20/90.
- X# Placed into the public domain by Daniel J. Bernstein.
- Xcat
- END_OF_FILE
- if test 106 -ne `wc -c <'servers/in.echod'`; then
- echo shar: \"'servers/in.echod'\" unpacked with wrong size!
- fi
- chmod +x 'servers/in.echod'
- # end of 'servers/in.echod'
- fi
- if test -f 'servers/in.fingerd' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'servers/in.fingerd'\"
- else
- echo shar: Extracting \"'servers/in.fingerd'\" \(246 characters\)
- sed "s/^X//" >'servers/in.fingerd' <<'END_OF_FILE'
- X#!/bin/sh
- X# in.daytimed version 1.0, 4/20/90.
- X# Placed into the public domain by Daniel J. Bernstein.
- X# Requires addcr and an out.finger reflecting your outside finger policy.
- Xout.finger "`head -1 | sed 's- .*--' | tr -cd '[\041-\176]'`" | addcr
- END_OF_FILE
- if test 246 -ne `wc -c <'servers/in.fingerd'`; then
- echo shar: \"'servers/in.fingerd'\" unpacked with wrong size!
- fi
- chmod +x 'servers/in.fingerd'
- # end of 'servers/in.fingerd'
- fi
- if test -f 'servers/in.nulld' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'servers/in.nulld'\"
- else
- echo shar: Extracting \"'servers/in.nulld'\" \(122 characters\)
- sed "s/^X//" >'servers/in.nulld' <<'END_OF_FILE'
- X#!/bin/sh
- X# in.daytimed version 1.0, 4/20/90.
- X# Placed into the public domain by Daniel J. Bernstein.
- Xcat >/dev/null 2>&1
- END_OF_FILE
- if test 122 -ne `wc -c <'servers/in.nulld'`; then
- echo shar: \"'servers/in.nulld'\" unpacked with wrong size!
- fi
- chmod +x 'servers/in.nulld'
- # end of 'servers/in.nulld'
- fi
- if test -f 'servers/in.usersd' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'servers/in.usersd'\"
- else
- echo shar: Extracting \"'servers/in.usersd'\" \(132 characters\)
- sed "s/^X//" >'servers/in.usersd' <<'END_OF_FILE'
- X#!/bin/sh
- X# in.daytimed version 1.0, 4/20/90.
- X# Placed into the public domain by Daniel J. Bernstein.
- X# Requires addcr.
- Xwho | addcr
- END_OF_FILE
- if test 132 -ne `wc -c <'servers/in.usersd'`; then
- echo shar: \"'servers/in.usersd'\" unpacked with wrong size!
- fi
- chmod +x 'servers/in.usersd'
- # end of 'servers/in.usersd'
- fi
- if test -f 'servers/out.finger' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'servers/out.finger'\"
- else
- echo shar: Extracting \"'servers/out.finger'\" \(555 characters\)
- sed "s/^X//" >'servers/out.finger' <<'END_OF_FILE'
- X#!/bin/sh
- X# out.finger version 1.0, 4/20/90.
- X# Placed into the public domain by Daniel J. Bernstein.
- X# Requires u@h2h, u@h2u, out.fingernet, out.fingerlocal.
- X# You may want to change this script to reflect your access controls.
- Xhavenet=n
- Xhaveloc=n
- Xfor i
- Xdo
- X export i
- X case "$i" in
- X *@*) out.fingernet "`printenv i | u@h2h`" "`printenv i | u@h2u`"
- X havenet=y;;
- X *) haveloc=y;;
- X esac
- Xdone
- Xcase "$haveloc" in
- Xn) case "$havenet" in
- X n) out.fingerlocal;;
- X esac;;
- Xy) out.fingerlocal `echo "$@" | tr ' ' '\012' | grep -v @ | tr '\012' ' '`;;
- Xesac
- END_OF_FILE
- if test 555 -ne `wc -c <'servers/out.finger'`; then
- echo shar: \"'servers/out.finger'\" unpacked with wrong size!
- fi
- chmod +x 'servers/out.finger'
- # end of 'servers/out.finger'
- fi
- if test -f 'servers/out.fingerlocal' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'servers/out.fingerlocal'\"
- else
- echo shar: Extracting \"'servers/out.fingerlocal'\" \(264 characters\)
- sed "s/^X//" >'servers/out.fingerlocal' <<'END_OF_FILE'
- X#!/bin/sh
- X# out.fingerlocal version 1.0, 4/20/90.
- X# Placed into the public domain by Daniel J. Bernstein.
- X# Requires a working local finger program.
- X# You may want to change this script to reflect your access controls.
- Xcase $# in
- X0) finger;;
- X*) finger "$@";;
- Xesac
- END_OF_FILE
- if test 264 -ne `wc -c <'servers/out.fingerlocal'`; then
- echo shar: \"'servers/out.fingerlocal'\" unpacked with wrong size!
- fi
- chmod +x 'servers/out.fingerlocal'
- # end of 'servers/out.fingerlocal'
- fi
- if test -f 'servers/out.fingernet' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'servers/out.fingernet'\"
- else
- echo shar: Extracting \"'servers/out.fingernet'\" \(241 characters\)
- sed "s/^X//" >'servers/out.fingernet' <<'END_OF_FILE'
- X#!/bin/sh
- X# out.fingernet version 1.0, 4/20/90.
- X# Placed into the public domain by Daniel J. Bernstein.
- X# Requires finger@.
- X# You may want to change this script to reflect your access controls.
- Xcase $# in
- X0) finger@;;
- X*) finger@ "$@";;
- Xesac
- END_OF_FILE
- if test 241 -ne `wc -c <'servers/out.fingernet'`; then
- echo shar: \"'servers/out.fingernet'\" unpacked with wrong size!
- fi
- chmod +x 'servers/out.fingernet'
- # end of 'servers/out.fingernet'
- fi
- if test -f 'servers/rc.include' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'servers/rc.include'\"
- else
- echo shar: Extracting \"'servers/rc.include'\" \(400 characters\)
- sed "s/^X//" >'servers/rc.include' <<'END_OF_FILE'
- X#!/bin/sh
- X# To use attachport rather than inetd for various network servers,
- X# include the following lines in rc.local. You may want to redirect
- X# startservers' output to a log file rather than /dev/console.
- X
- Xecho 'clearing old authentication entries' > /dev/console 2>&1
- Xauthinit > /dev/console 2>&1
- Xecho 'starting attachport-based servers' > /dev/console 2>&1
- X/etc/startservers > /dev/console 2>&1
- END_OF_FILE
- if test 400 -ne `wc -c <'servers/rc.include'`; then
- echo shar: \"'servers/rc.include'\" unpacked with wrong size!
- fi
- # end of 'servers/rc.include'
- fi
- if test -f 'servers/startservers' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'servers/startservers'\"
- else
- echo shar: Extracting \"'servers/startservers'\" \(1055 characters\)
- sed "s/^X//" >'servers/startservers' <<'END_OF_FILE'
- X#!/bin/sh
- X# startservers version 1.0, 4/20/90.
- X# Placed into the public domain by Daniel J. Bernstein.
- X
- X# Script to start servers for all the normal ports.
- X# Requires: attachport in /usr/local, setuid in /bin, various servers
- X# in /etc. The path names aren't necessary.
- X
- XATTACH=/usr/local/attachport
- XSETUID=/bin/setuid
- X
- X# The Authentication Server daemon. (-R is default for port 113.)
- X$ATTACH -vRXp auth $SETUID auth /etc/authd &
- X
- X# Services provided through trivial shell scripts
- X$ATTACH -vRXp echo $SETUID nobody /etc/in.echod &
- X$ATTACH -vRXp discard $SETUID nobody /etc/in.nulld &
- X$ATTACH -vRp daytime $SETUID nobody /etc/in.daytimed &
- X$ATTACH -vp finger $SETUID nobody /etc/in.fingerd &
- X$ATTACH -vRp users $SETUID nobody /etc/in.usersd &
- X$ATTACH -vRXp chargen $SETUID nobody /etc/in.chargend &
- X
- X# Services provided through not so trivial programs
- X$ATTACH -vp ftp /etc/ftpd &
- X$ATTACH -vp telnet /etc/telnetd &
- X$ATTACH -vp shell /etc/rshd &
- X$ATTACH -vp login /etc/rlogind &
- X$ATTACH -vp exec /etc/rexecd &
- X$ATTACH -vp uucp $SETUID uucp /etc/uucpd &
- END_OF_FILE
- if test 1055 -ne `wc -c <'servers/startservers'`; then
- echo shar: \"'servers/startservers'\" unpacked with wrong size!
- fi
- chmod +x 'servers/startservers'
- # end of 'servers/startservers'
- fi
- if test ! -d 'tam' ; then
- echo shar: Creating directory \"'tam'\"
- mkdir 'tam'
- fi
- if test -f 'tam/CHANGES' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'tam/CHANGES'\"
- else
- echo shar: Extracting \"'tam/CHANGES'\" \(244 characters\)
- sed "s/^X//" >'tam/CHANGES' <<'END_OF_FILE'
- X4/23/90: tam package version 1.0.
- X4/23/90: tamd version 1.0.
- X4/23/90: tamsetup version 1.0.
- X4/23/90: tamprint version 1.0.
- X4/23/90: tamdel version 1.0.
- X4/23/90: tam2look version 1.0.
- X4/23/90: tam2mail version 1.0.
- X4/23/90: tamsend version 1.0.
- END_OF_FILE
- if test 244 -ne `wc -c <'tam/CHANGES'`; then
- echo shar: \"'tam/CHANGES'\" unpacked with wrong size!
- fi
- # end of 'tam/CHANGES'
- fi
- if test -f 'tam/Makefile' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'tam/Makefile'\"
- else
- echo shar: Extracting \"'tam/Makefile'\" \(940 characters\)
- sed "s/^X//" >'tam/Makefile' <<'END_OF_FILE'
- XCC=cc
- XCCOPTS=-s -O
- XNROFF=nroff
- XNROFFOPTS=-man
- X
- Xdefault: all
- X
- Xall: tamdel tamprint tamsetup tamdel.1 tamprint.1 tamsetup.1 tamsend.1 tam2look.1 tam2mail.1 tamd.8
- X
- Xtamdel: tamdel.c Makefile
- X $(CC) $(CCOPTS) -o tamdel tamdel.c
- X
- Xtamprint: tamprint.c Makefile
- X $(CC) $(CCOPTS) -o tamprint tamprint.c
- X
- Xtamsetup: tamsetup.c Makefile
- X $(CC) $(CCOPTS) -o tamsetup tamsetup.c
- X
- Xtamdel.1: tamdel.man Makefile
- X $(NROFF) $(NROFFOPTS) < tamdel.man > tamdel.1
- X
- Xtamprint.1: tamprint.man Makefile
- X $(NROFF) $(NROFFOPTS) < tamprint.man > tamprint.1
- X
- Xtamsetup.1: tamsetup.man Makefile
- X $(NROFF) $(NROFFOPTS) < tamsetup.man > tamsetup.1
- X
- Xtamsend.1: tamsend.man Makefile
- X $(NROFF) $(NROFFOPTS) < tamsend.man > tamsend.1
- X
- Xtam2look.1: tam2look.man Makefile
- X $(NROFF) $(NROFFOPTS) < tam2look.man > tam2look.1
- X
- Xtam2mail.1: tam2mail.man Makefile
- X $(NROFF) $(NROFFOPTS) < tam2mail.man > tam2mail.1
- X
- Xtamd.8: tamd.man Makefile
- X $(NROFF) $(NROFFOPTS) < tamd.man > tamd.8
- END_OF_FILE
- if test 940 -ne `wc -c <'tam/Makefile'`; then
- echo shar: \"'tam/Makefile'\" unpacked with wrong size!
- fi
- # end of 'tam/Makefile'
- fi
- if test -f 'tam/rc.include' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'tam/rc.include'\"
- else
- echo shar: Extracting \"'tam/rc.include'\" \(136 characters\)
- sed "s/^X//" >'tam/rc.include' <<'END_OF_FILE'
- X#!/bin/sh
- X
- Xecho 'starting tam daemon' > /dev/console 2>&1
- X/usr/local/attachport -vp tam /bin/setuid tam /etc/tamd > /dev/console 2>&1 &
- END_OF_FILE
- if test 136 -ne `wc -c <'tam/rc.include'`; then
- echo shar: \"'tam/rc.include'\" unpacked with wrong size!
- fi
- chmod +x 'tam/rc.include'
- # end of 'tam/rc.include'
- fi
- if test -f 'tam/services.include' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'tam/services.include'\"
- else
- echo shar: Extracting \"'tam/services.include'\" \(27 characters\)
- sed "s/^X//" >'tam/services.include' <<'END_OF_FILE'
- Xtam 209/tcp trivauthmail
- END_OF_FILE
- if test 27 -ne `wc -c <'tam/services.include'`; then
- echo shar: \"'tam/services.include'\" unpacked with wrong size!
- fi
- # end of 'tam/services.include'
- fi
- if test -f 'tam/tam2look' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'tam/tam2look'\"
- else
- echo shar: Extracting \"'tam/tam2look'\" \(202 characters\)
- sed "s/^X//" >'tam/tam2look' <<'END_OF_FILE'
- X#!/bin/sh
- X# tam2look version 1.0, 4/23/90.
- X# Placed into the public domain by Daniel J. Bernstein.
- Xawk '/^[^>]/ { if (p == 1) { print ""; p = 0 } }
- X/^>/ { if (p == 0) { print ""; p = 1 } }
- X{ print } '
- END_OF_FILE
- if test 202 -ne `wc -c <'tam/tam2look'`; then
- echo shar: \"'tam/tam2look'\" unpacked with wrong size!
- fi
- chmod +x 'tam/tam2look'
- # end of 'tam/tam2look'
- fi
- if test -f 'tam/tam2look.man' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'tam/tam2look.man'\"
- else
- echo shar: Extracting \"'tam/tam2look.man'\" \(529 characters\)
- sed "s/^X//" >'tam/tam2look.man' <<'END_OF_FILE'
- X.TH tam2look 1
- X.SH NAME
- Xtam2look \- format TAMbox input messages nicely
- X.SH SYNTAX
- Xtam2look
- X.SH DESCRIPTION
- X.I tam2look
- Xtakes one or more TAMbox messages
- X(see
- X.I tamd(8))
- Xas input
- Xand formats them
- Xa little more nicely.
- XIt also inserts
- Xformfeeds
- Xat the right spots for
- X.I more.
- X.SH RESTRICTIONS
- X.I tam2look
- Xhandles long lines exactly as well as
- X.I awk
- Xdoes.
- X.SH VERSION
- Xtam2look version 1.0, dated 4/23/90.
- X.SH AUTHOR
- XPlaced into the public domain by Daniel J. Bernstein.
- X.SH "SEE ALSO"
- Xtamprint(1),
- Xtam2mail(1),
- Xmore(1),
- Xtamd(8)
- END_OF_FILE
- if test 529 -ne `wc -c <'tam/tam2look.man'`; then
- echo shar: \"'tam/tam2look.man'\" unpacked with wrong size!
- fi
- # end of 'tam/tam2look.man'
- fi
- if test -f 'tam/tam2mail' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'tam/tam2mail'\"
- else
- echo shar: Extracting \"'tam/tam2mail'\" \(379 characters\)
- sed "s/^X//" >'tam/tam2mail' <<'END_OF_FILE'
- X#!/bin/sh
- X# tam2mail version 1.0, 4/23/90.
- X# Placed into the public domain by Daniel J. Bernstein.
- Xawk '
- XBEGIN {
- X print "(sed s+X++ | mail -s '\''TAM incoming'\'' `whoami`) << \EOF"
- X}
- X/^[^>]/ { if (p == 1) {
- X print "EOF"
- X print "(sed s+X++ | mail -s '\''TAM incoming'\'' `whoami`) << \EOF"
- Xp = 0 } }
- X/^>/ { if (p == 0) { p = 1 } }
- X{ print "X"$0 }
- XEND {
- X print "EOF"
- X} ' | sh
- END_OF_FILE
- if test 379 -ne `wc -c <'tam/tam2mail'`; then
- echo shar: \"'tam/tam2mail'\" unpacked with wrong size!
- fi
- chmod +x 'tam/tam2mail'
- # end of 'tam/tam2mail'
- fi
- if test -f 'tam/tam2mail.man' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'tam/tam2mail.man'\"
- else
- echo shar: Extracting \"'tam/tam2mail.man'\" \(493 characters\)
- sed "s/^X//" >'tam/tam2mail.man' <<'END_OF_FILE'
- X.TH tam2mail 1
- X.SH NAME
- Xtam2mail \- send TAMbox input messages to yourself as regular mail
- X.SH SYNTAX
- Xtam2mail
- X.SH DESCRIPTION
- X.I tam2mail
- Xtakes one or more TAMbox messages
- X(see
- X.I tamd(8))
- Xas input
- Xand sends them to you
- Xthrough regular mail.
- X.SH RESTRICTIONS
- X.I tam2mail
- Xhandles long lines exactly as well as
- X.I awk
- Xdoes.
- X.SH VERSION
- Xtam2mail version 1.0, dated 4/23/90.
- X.SH AUTHOR
- XPlaced into the public domain by Daniel J. Bernstein.
- X.SH "SEE ALSO"
- Xtamdel(1),
- Xtam2look(1),
- Xmail(1),
- Xtamd(8)
- END_OF_FILE
- if test 493 -ne `wc -c <'tam/tam2mail.man'`; then
- echo shar: \"'tam/tam2mail.man'\" unpacked with wrong size!
- fi
- # end of 'tam/tam2mail.man'
- fi
- if test -f 'tam/tamd' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'tam/tamd'\"
- else
- echo shar: Extracting \"'tam/tamd'\" \(542 characters\)
- sed "s/^X//" >'tam/tamd' <<'END_OF_FILE'
- X#!/bin/sh
- X# tamd version 1.0, 4/23/90.
- X# Placed into the public domain by Daniel J. Bernstein.
- X# Requires u@h2u, flock.
- XTAMDIR=/usr/spool/tam; export TAMDIR
- XTO="`/usr/ucb/head -1 | tr -d ./`"; export TO
- Xif [ ! -w "$TAMDIR/$TO" ]
- Xthen echo "TAM ERROR: $TO: No such user"; exit 2
- Xfi
- Xif printenv REMOTE | u@h2u | grep -s .
- Xthen echo ""
- Xelse echo "TAM ERROR: Unauthenticated"; exit 1
- Xfi
- Xflock "$TAMDIR/$TO" sh -c \
- X 'exec >> "$TAMDIR/$TO";
- X echo "Received-From: $REMOTE via $PROTO";
- X echo "Received-Date: `date`";
- X sed "s+^+>+"; echo ">"'
- END_OF_FILE
- if test 542 -ne `wc -c <'tam/tamd'`; then
- echo shar: \"'tam/tamd'\" unpacked with wrong size!
- fi
- chmod +x 'tam/tamd'
- # end of 'tam/tamd'
- fi
- if test -f 'tam/tamd.man' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'tam/tamd.man'\"
- else
- echo shar: Extracting \"'tam/tamd.man'\" \(831 characters\)
- sed "s/^X//" >'tam/tamd.man' <<'END_OF_FILE'
- X.TH tamd 8
- X.SH NAME
- Xtamd \- TAM daemon
- X.SH SYNTAX
- X/etc/tamd
- X.SH DESCRIPTION
- X.I tamd
- Xruns under
- X.I attachport
- Xaccepting connections to
- Xport 209.
- XIt implements the
- XTAM protocol:
- Xthe client says a user name,
- Xthe server either returns a blank line for ``yes''
- Xor an error message,
- Xand the client sends a message to be delivered to that user.
- X.PP
- X.I tamd
- Xdelivers the message into
- Xthe user's TAMbox.
- XMessages are any number of
- Xlocal header lines,
- Xfollowed by any number of
- Xlines beginning with a >
- Xas sent from the remote user.
- X\fItamd\fB's
- Xheader lines are
- XReceived-From
- Xand Received-Date.
- X.SH VARIABLES
- XREMOTE and PROTO, as set by
- X.I attachport.
- X.SH FILES
- X/usr/spool/tam/*
- XTAMboxes
- X.SH VERSION
- Xtamd version 1.0, dated 4/23/90.
- X.SH AUTHOR
- XPlaced into the public domain by Daniel J. Bernstein.
- X.SH "SEE ALSO"
- Xattachport(1),
- Xtamsetup(1)
- END_OF_FILE
- if test 831 -ne `wc -c <'tam/tamd.man'`; then
- echo shar: \"'tam/tamd.man'\" unpacked with wrong size!
- fi
- # end of 'tam/tamd.man'
- fi
- if test -f 'tam/tamdel.man' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'tam/tamdel.man'\"
- else
- echo shar: Extracting \"'tam/tamdel.man'\" \(1038 characters\)
- sed "s/^X//" >'tam/tamdel.man' <<'END_OF_FILE'
- X.TH tamdel 1
- X.SH NAME
- Xtamdel \- print and empty TAMbox
- X.SH SYNTAX
- Xtamdel
- X.SH DESCRIPTION
- X.I tamdel
- Xprints and empties the user's TAMbox.
- XThis operation is atomic:
- X.I tamdel
- Xwill never
- Xaccidentally delete a message that it hasn't printed.
- X.PP
- XIt is useful to pipe
- Xthe output of
- X.I tamdel
- Xinto a TAM postprocessor/archiver,
- Xsuch as
- X.I tam2mail.
- X.SH FILES
- X/usr/spool/tam/*
- XTAMboxes
- X.SH "EXIT VALUE"
- X0 upon success;
- Xor 1 through 7 in order of the diagnostics below.
- X.SH DIAGNOSTICS
- X.TP
- X.I who are you?
- XYou're not listed in the password file.
- X.TP
- X.I can't read tam spool file
- XYour TAMbox is unreadable.
- XThis shouldn't happen.
- X.TP
- X.I can't lock tam spool file
- XThis shouldn't happen.
- X.TP
- X.I read error
- XInput has failed.
- X.TP
- X.I write error
- XOutput has failed.
- X.TP
- X.I can't create new tam spool file
- XThis shouldn't happen.
- X.TP
- X.I can't recreate tam spool file
- XThis shouldn't happen.
- X.SH VERSION
- Xtamdel version 1.0, dated 4/23/90.
- X.SH AUTHOR
- XPlaced into the public domain by Daniel J. Bernstein.
- X.SH "SEE ALSO"
- Xtamsetup(1),
- Xtamprint(1),
- Xtam2mail(1)
- END_OF_FILE
- if test 1038 -ne `wc -c <'tam/tamdel.man'`; then
- echo shar: \"'tam/tamdel.man'\" unpacked with wrong size!
- fi
- # end of 'tam/tamdel.man'
- fi
- if test -f 'tam/tamprint.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'tam/tamprint.c'\"
- else
- echo shar: Extracting \"'tam/tamprint.c'\" \(1090 characters\)
- sed "s/^X//" >'tam/tamprint.c' <<'END_OF_FILE'
- X/* tamprint version 1.0, 4/23/90. */
- X
- X#include <stdio.h>
- X#include <sys/file.h>
- X#ifdef BSD
- X#include <limits.h>
- X#endif
- X#include <pwd.h>
- X
- X#ifndef TAMDIR
- X#define TAMDIR "/usr/spool/tam"
- X#endif
- X
- X#ifndef BUFSIZ
- X#define BUFSIZ 1024
- X#endif
- X
- Xmain()
- X{
- X struct passwd *pw;
- X char path[sizeof(TAMDIR) + 11];
- X int fd;
- X char buf[BUFSIZ];
- X int r;
- X
- X if (!(pw = getpwuid(getuid())))
- X {
- X fprintf(stderr,"tamprint: fatal: who are you?\n");
- X exit(1);
- X }
- X (void) sprintf(path,"%s/%s",TAMDIR,pw->pw_name);
- X if ((fd = open(path,O_RDONLY)) == -1)
- X {
- X perror("tamprint: fatal: can't read tam spool file");
- X exit(2);
- X }
- X if (flock(fd,LOCK_EX) == -1)
- X {
- X perror("tamprint: fatal: can't lock tam spool file");
- X exit(3);
- X }
- X while ((r = read(fd,buf,sizeof(buf))) > 0)
- X if (write(1,buf,r) < r)
- X {
- X /* This may happen, incorrectly, if the output is nonblocking. */
- X /* We assume the usual convention that you never pass nonblocking fds. */
- X perror("tamprint: fatal: write error");
- X exit(5);
- X }
- X if (r < 0)
- X {
- X perror("tamprint: fatal: read error");
- X exit(4);
- X }
- X exit(0);
- X}
- END_OF_FILE
- if test 1090 -ne `wc -c <'tam/tamprint.c'`; then
- echo shar: \"'tam/tamprint.c'\" unpacked with wrong size!
- fi
- # end of 'tam/tamprint.c'
- fi
- if test -f 'tam/tamprint.man' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'tam/tamprint.man'\"
- else
- echo shar: Extracting \"'tam/tamprint.man'\" \(797 characters\)
- sed "s/^X//" >'tam/tamprint.man' <<'END_OF_FILE'
- X.TH tamprint 1
- X.SH NAME
- Xtamprint \- print TAMbox
- X.SH SYNTAX
- Xtamprint
- X.SH DESCRIPTION
- X.I tamprint
- Xprints the user's TAMbox.
- XIt is useful to pipe
- Xthe output of
- X.I tamprint
- Xinto a TAM screen postprocessor,
- Xsuch as
- X.I tam2look.
- X.SH FILES
- X/usr/spool/tam/*
- XTAMboxes
- X.SH "EXIT VALUE"
- X0 upon success;
- Xor 1 through 5 in order of the diagnostics below.
- X.SH DIAGNOSTICS
- X.TP
- X.I who are you?
- XYou're not listed in the password file.
- X.TP
- X.I can't read tam spool file
- XYour TAMbox is unreadable.
- XThis shouldn't happen.
- X.TP
- X.I can't lock tam spool file
- XThis shouldn't happen.
- X.TP
- X.I read error
- XInput has failed.
- X.TP
- X.I write error
- XOutput has failed.
- X.SH VERSION
- Xtamprint version 1.0, dated 4/23/90.
- X.SH AUTHOR
- XPlaced into the public domain by Daniel J. Bernstein.
- X.SH "SEE ALSO"
- Xtamsetup(1),
- Xtamdel(1),
- Xtam2look(1)
- END_OF_FILE
- if test 797 -ne `wc -c <'tam/tamprint.man'`; then
- echo shar: \"'tam/tamprint.man'\" unpacked with wrong size!
- fi
- # end of 'tam/tamprint.man'
- fi
- if test -f 'tam/tamsend' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'tam/tamsend'\"
- else
- echo shar: Extracting \"'tam/tamsend'\" \(905 characters\)
- sed "s/^X//" >'tam/tamsend' <<'END_OF_FILE'
- X#!/bin/sh
- X# tamsend version 1.0, 4/23/90.
- X# Placed into the public domain by Daniel J. Bernstein.
- X# Requires rewind, u@h2h, u@h2u.
- XUSER="`whoami`"
- XHOST="`hostname`.my.domain"
- Xumask 077
- Xexec 4>/tmp/tam1.$$ 5</tmp/tam1.$$
- Xexec 8>/tmp/tam2.$$ 9</tmp/tam2.$$
- Xrm /tmp/tam1.$$ /tmp/tam2.$$
- Xif echo "Sent-From: $USER@$HOST" >&4 \
- X&& echo "Sent-Date: `date`" >&4 \
- X&& echo "Sent-To: $*" >&4 \
- X&& echo "" >&4 \
- X&& cat >&4
- Xthen
- X ( for TO
- X do
- X case "$TO" in
- X *@*) ;;
- X *) TO="$TO@`hostname`";;
- X esac
- X export TO
- X authtcp -vR -- "`printenv TO | u@h2h`" tam \
- X sh -c 'printenv TO | u@h2u >&6;
- X head -1 <&6 | grep . ||
- X { multitee 5:6,8; rewind 4; rewind 5;
- X multitee 9:4; rewind 8; rewind 9; }' \
- X || echo "tamsend: ERROR: cannot send to $TO"
- X done
- X echo ""; echo "----- Message follows -----"; echo ""
- X cat <&5 ) 2>&1 | mail -s 'TAM log' "$USER" &
- Xfi
- END_OF_FILE
- if test 905 -ne `wc -c <'tam/tamsend'`; then
- echo shar: \"'tam/tamsend'\" unpacked with wrong size!
- fi
- chmod +x 'tam/tamsend'
- # end of 'tam/tamsend'
- fi
- if test -f 'tam/tamsend.man' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'tam/tamsend.man'\"
- else
- echo shar: Extracting \"'tam/tamsend.man'\" \(1026 characters\)
- sed "s/^X//" >'tam/tamsend.man' <<'END_OF_FILE'
- X.TH tamsend 1
- X.SH NAME
- Xtamsend \- send authenticated mail to one or more TAMboxes
- X.SH SYNTAX
- Xtamsend
- X\fBuser1@host1\fI
- X...
- X.SH DESCRIPTION
- X.I tamsend
- Xreads a message from standard input,
- Xthen sends the message through TAM
- Xto each recipient listed on the command line.
- XIt sends an acknowledgement of any errors,
- Xalong with a copy of the message,
- Xto you through regular mail with subject
- X``TAM log.''
- X.PP
- XThe acknowledgment is sent with the command
- X.I mail -s 'TAM log' "`whoami`".
- XYou can have it delivered differently
- Xby setting up a different
- X.I mail
- Xsomewhere
- Xin your PATH.
- X.PP
- XYou can leave the
- X.B host
- Xoff a recipient's name,
- Xin which case
- Xhe's assumed to be at the local host
- X(or whatever
- X.I hostname
- Xsays).
- X.PP
- X.I tamsend
- Xprepends the message
- Xwith
- XSent-From,
- XSent-Date,
- Xand Sent-To
- Xheaders.
- XThe recipients will detect any
- Xforgery of Sent-From.
- X.SH VERSION
- Xtamsend version 1.0, dated 4/23/90.
- X.SH AUTHOR
- XPlaced into the public domain by Daniel J. Bernstein.
- X.SH "SEE ALSO"
- Xauthtcp(1),
- Xtamsetup(1),
- Xtamprint(1),
- Xtamdel(1)
- END_OF_FILE
- if test 1026 -ne `wc -c <'tam/tamsend.man'`; then
- echo shar: \"'tam/tamsend.man'\" unpacked with wrong size!
- fi
- # end of 'tam/tamsend.man'
- fi
- if test -f 'tam/tamsetup.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'tam/tamsetup.c'\"
- else
- echo shar: Extracting \"'tam/tamsetup.c'\" \(634 characters\)
- sed "s/^X//" >'tam/tamsetup.c' <<'END_OF_FILE'
- X/* tamsetup version 1.0, 4/23/90. */
- X
- X#include <stdio.h>
- X#include <sys/file.h>
- X#ifdef BSD
- X#include <limits.h>
- X#endif
- X#include <pwd.h>
- X
- X#ifndef TAMDIR
- X#define TAMDIR "/usr/spool/tam"
- X#endif
- X
- Xmain()
- X{
- X struct passwd *pw;
- X char path[sizeof(TAMDIR) + 11];
- X int fd;
- X
- X if (!(pw = getpwuid(getuid())))
- X {
- X fprintf(stderr,"tamsetup: fatal: who are you?\n");
- X exit(1);
- X }
- X (void) sprintf(path,"%s/%s",TAMDIR,pw->pw_name);
- X if ((fd = open(path,O_WRONLY | O_CREAT | O_EXCL,0600)) == -1)
- X {
- X perror("tamsetup: fatal: can't create tam spool file");
- X exit(2);
- X }
- X fprintf(stderr,"tamsetup: okay, tam spool file created\n");
- X exit(0);
- X}
- END_OF_FILE
- if test 634 -ne `wc -c <'tam/tamsetup.c'`; then
- echo shar: \"'tam/tamsetup.c'\" unpacked with wrong size!
- fi
- # end of 'tam/tamsetup.c'
- fi
- if test -f 'tam/tamsetup.man' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'tam/tamsetup.man'\"
- else
- echo shar: Extracting \"'tam/tamsetup.man'\" \(956 characters\)
- sed "s/^X//" >'tam/tamsetup.man' <<'END_OF_FILE'
- X.TH tamsetup 1
- X.SH NAME
- Xtamsetup \- set up a TAMbox
- X.SH SYNTAX
- Xtamsetup
- X.SH DESCRIPTION
- X.I tamsetup
- Xsets up a tam spool file or ``TAMbox''
- Xfor you.
- XTAM is the Trivial Authenticated Mail protocol;
- Xit lets users send mail that, unlike regular mail,
- Xcan't be forged
- X(except by system administrators, of course).
- XOnce you've set up a TAMbox, anyone around the network
- Xcan send you authenticated mail.
- X.PP
- XThe format of the TAMbox is specified in
- X.I tamd(8).
- X.SH FILES
- X/usr/spool/tam/*
- XTAMboxes
- X.SH "EXIT VALUE"
- X0 upon success;
- X1 if you're not recognizable;
- X2 if you've already set up a TAMbox.
- X.SH DIAGNOSTICS
- X.TP
- X.I who are you?
- XYou're not listed in the password file.
- X.TP
- X.I can't create tam spool file
- XProbably your TAMbox exists already.
- X.TP
- X.I okay, tam spool file created
- XSuccess.
- X.SH VERSION
- Xtamsetup version 1.0, dated 4/23/90.
- X.SH AUTHOR
- XPlaced into the public domain by Daniel J. Bernstein.
- X.SH "SEE ALSO"
- Xtamprint(1),
- Xtamdel(1),
- Xtamsend(1),
- Xtamd(8)
- END_OF_FILE
- if test 956 -ne `wc -c <'tam/tamsetup.man'`; then
- echo shar: \"'tam/tamsetup.man'\" unpacked with wrong size!
- fi
- # end of 'tam/tamsetup.man'
- fi
- if test ! -d 'util' ; then
- echo shar: Creating directory \"'util'\"
- mkdir 'util'
- fi
- if test -f 'util/CHANGES' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'util/CHANGES'\"
- else
- echo shar: Extracting \"'util/CHANGES'\" \(27 characters\)
- sed "s/^X//" >'util/CHANGES' <<'END_OF_FILE'
- X4/20/90: util package 1.0.
- END_OF_FILE
- if test 27 -ne `wc -c <'util/CHANGES'`; then
- echo shar: \"'util/CHANGES'\" unpacked with wrong size!
- fi
- # end of 'util/CHANGES'
- fi
- if test -f 'util/Makefile' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'util/Makefile'\"
- else
- echo shar: Extracting \"'util/Makefile'\" \(1115 characters\)
- sed "s/^X//" >'util/Makefile' <<'END_OF_FILE'
- XCC=cc
- XCCOPTS=-s -O
- XNROFF=nroff
- XNROFFOPTS=-man
- X
- Xdefault: all
- X
- Xall: addcr delcr flock rewind setuid u@h2h u@h2u addcr.1 delcr.1 flock.1 rewind.1 setuid.1 u@h2h.1 u@h2u.1
- X
- Xaddcr: addcr.c Makefile
- X $(CC) $(CCOPTS) -o addcr addcr.c
- X
- Xdelcr: delcr.c Makefile
- X $(CC) $(CCOPTS) -o delcr delcr.c
- X
- Xflock: flock.c Makefile
- X $(CC) $(CCOPTS) -o flock flock.c
- X
- Xrewind: rewind.c Makefile
- X $(CC) $(CCOPTS) -o rewind rewind.c
- X
- Xsetuid: setuid.c Makefile
- X $(CC) $(CCOPTS) -o setuid setuid.c
- X
- Xu@h2h: u@h2h.c Makefile
- X $(CC) $(CCOPTS) -o u@h2h u@h2h.c
- X
- Xu@h2u: u@h2u.c Makefile
- X $(CC) $(CCOPTS) -o u@h2u u@h2u.c
- X
- Xaddcr.1: addcr.man Makefile
- X $(NROFF) $(NROFFOPTS) < addcr.man > addcr.1
- X
- Xdelcr.1: delcr.man Makefile
- X $(NROFF) $(NROFFOPTS) < delcr.man > delcr.1
- X
- Xflock.1: flock.man Makefile
- X $(NROFF) $(NROFFOPTS) < flock.man > flock.1
- X
- Xrewind.1: rewind.man Makefile
- X $(NROFF) $(NROFFOPTS) < rewind.man > rewind.1
- X
- Xsetuid.1: setuid.man Makefile
- X $(NROFF) $(NROFFOPTS) < setuid.man > setuid.1
- X
- Xu@h2h.1: u@h2h.man Makefile
- X $(NROFF) $(NROFFOPTS) < u@h2h.man > u@h2h.1
- X
- Xu@h2u.1: u@h2u.man Makefile
- X $(NROFF) $(NROFFOPTS) < u@h2u.man > u@h2u.1
- END_OF_FILE
- if test 1115 -ne `wc -c <'util/Makefile'`; then
- echo shar: \"'util/Makefile'\" unpacked with wrong size!
- fi
- # end of 'util/Makefile'
- fi
- if test -f 'util/README' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'util/README'\"
- else
- echo shar: Extracting \"'util/README'\" \(1354 characters\)
- sed "s/^X//" >'util/README' <<'END_OF_FILE'
- Xutil version 1.0, April 20, 1990.
- X
- XThese short programs abbreviate some commonly needed operations.
- X
- Xaddcr version 1.0, April 20, 1990.
- Xdelcr version 1.0, April 20, 1990.
- Xflock version 1.0, April 20, 1990.
- Xrewind version 1.0, April 20, 1990.
- Xsetuid version 1.0, April 20, 1990.
- Xu@h2h version 1.0, April 20, 1990.
- Xu@h2u version 1.0, April 20, 1990.
- XPublic domain.
- X
- XFiles:
- XCHANGES Description of changes since first distributed version
- XREADME This document
- XMakefile Installation commands
- Xaddcr.c addcr program
- Xdelcr.c delcr program
- Xflock.c flock program
- Xrewind.c rewind program
- Xsetuid.c setuid program
- Xu@h2h.c u@h2h program
- Xu@h2u.c u@h2u program
- Xaddcr.man addcr documentation
- Xdelcr.man delcr documentation
- Xflock.man flock documentation
- Xrewind.man rewind documentation
- Xsetuid.man setuid documentation
- Xu@h2h.man u@h2h documentation
- Xu@h2u.man u@h2u documentation
- X
- XEdit the options in Makefile and type make. addcr, delcr, flock, rewind,
- Xsetuid, u@h2h, and u@h2u will be the executable programs; addcr.1,
- Xdelcr.1, flock.1, rewind.1, setuid.1, u@h2h.1, and u@h2u.1 will be the
- Xnroff'ed documentation.
- X
- XI don't pretend to know your machine's setup so there's no make install.
- Xsetuid probably belongs in /bin; do not make it setuid to anything!
- END_OF_FILE
- if test 1354 -ne `wc -c <'util/README'`; then
- echo shar: \"'util/README'\" unpacked with wrong size!
- fi
- # end of 'util/README'
- fi
- if test -f 'util/addcr.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'util/addcr.c'\"
- else
- echo shar: Extracting \"'util/addcr.c'\" \(224 characters\)
- sed "s/^X//" >'util/addcr.c' <<'END_OF_FILE'
- X/* addcr.c version 1.0, 4/20/90. */
- X
- X#include <stdio.h>
- X
- Xmain()
- X{
- X int ch;
- X
- X while ((ch = getchar()) != EOF)
- X {
- X if (ch == '\n')
- X putchar('\r');
- X putchar(ch);
- X if (ch == '\n')
- X fflush(stdout);
- X }
- X exit(0);
- X}
- END_OF_FILE
- if test 224 -ne `wc -c <'util/addcr.c'`; then
- echo shar: \"'util/addcr.c'\" unpacked with wrong size!
- fi
- # end of 'util/addcr.c'
- fi
- if test -f 'util/addcr.man' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'util/addcr.man'\"
- else
- echo shar: Extracting \"'util/addcr.man'\" \(304 characters\)
- sed "s/^X//" >'util/addcr.man' <<'END_OF_FILE'
- X.TH addcr 1
- X.SH NAME
- Xaddcr \- add carriage returns before newlines
- X.SH SYNTAX
- Xaddcr
- X.SH DESCRIPTION
- X.I addcr
- Xcopies its input to its output,
- Xadding a carriage return
- Xbefore each newline
- Xand flushing its output after each line.
- X.SH VERSION
- Xaddcr version 1.0, dated April 20, 1990.
- X.SH "SEE ALSO"
- Xdelcr(1)
- END_OF_FILE
- if test 304 -ne `wc -c <'util/addcr.man'`; then
- echo shar: \"'util/addcr.man'\" unpacked with wrong size!
- fi
- # end of 'util/addcr.man'
- fi
- if test -f 'util/delcr.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'util/delcr.c'\"
- else
- echo shar: Extracting \"'util/delcr.c'\" \(206 characters\)
- sed "s/^X//" >'util/delcr.c' <<'END_OF_FILE'
- X/* delcr.c version 1.0, 4/20/90. */
- X
- X#include <stdio.h>
- X
- Xmain()
- X{
- X int ch;
- X
- X while ((ch = getchar()) != EOF)
- X {
- X if (ch != '\r')
- X putchar(ch);
- X if (ch == '\n')
- X fflush(stdout);
- X }
- X exit(0);
- X}
- END_OF_FILE
- if test 206 -ne `wc -c <'util/delcr.c'`; then
- echo shar: \"'util/delcr.c'\" unpacked with wrong size!
- fi
- # end of 'util/delcr.c'
- fi
- if test -f 'util/delcr.man' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'util/delcr.man'\"
- else
- echo shar: Extracting \"'util/delcr.man'\" \(276 characters\)
- sed "s/^X//" >'util/delcr.man' <<'END_OF_FILE'
- X.TH delcr 1
- X.SH NAME
- Xdelcr \- delete carriage returns
- X.SH SYNTAX
- Xdelcr
- X.SH DESCRIPTION
- X.I delcr
- Xcopies its input to its output,
- Xdeleting all carriage returns
- Xand flushing its output after each line.
- X.SH VERSION
- Xdelcr version 1.0, dated April 20, 1990.
- X.SH "SEE ALSO"
- Xaddcr(1)
- END_OF_FILE
- if test 276 -ne `wc -c <'util/delcr.man'`; then
- echo shar: \"'util/delcr.man'\" unpacked with wrong size!
- fi
- # end of 'util/delcr.man'
- fi
- if test -f 'util/flock.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'util/flock.c'\"
- else
- echo shar: Extracting \"'util/flock.c'\" \(518 characters\)
- sed "s/^X//" >'util/flock.c' <<'END_OF_FILE'
- X/* flock version 1.0, 4/20/90. */
- X
- X#include <sys/file.h>
- X#ifdef BSD
- X#include <limits.h>
- X#endif
- X#include <stdio.h>
- X
- Xmain(argc,argv)
- Xint argc;
- Xchar *argv[];
- X{
- X int fd;
- X
- X if (argc < 2)
- X { fputs("Usage: flock filename program [ arg ... ]\n",stderr); exit(1); }
- X if ((fd = open(argv[1],O_RDONLY)) == -1)
- X { perror("flock: fatal: cannot open"); exit(2); }
- X if (flock(fd,LOCK_EX) == -1)
- X { perror("flock: fatal: cannot flock"); exit(3); }
- X execvp(argv[2],argv + 2);
- X perror("flock: fatal: cannot execute");
- X exit(4);
- X}
- END_OF_FILE
- if test 518 -ne `wc -c <'util/flock.c'`; then
- echo shar: \"'util/flock.c'\" unpacked with wrong size!
- fi
- # end of 'util/flock.c'
- fi
- if test -f 'util/flock.man' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'util/flock.man'\"
- else
- echo shar: Extracting \"'util/flock.man'\" \(587 characters\)
- sed "s/^X//" >'util/flock.man' <<'END_OF_FILE'
- X.TH flock 1
- X.SH NAME
- Xflock \- run a program with a file locked
- X.SH SYNTAX
- Xflock file program [arg ... ]
- X.SH DESCRIPTION
- X.I flock
- Xopens
- X.I file
- Xfor reading,
- Xsets an
- Xexclusive
- Xlock on it,
- Xand runs
- X.I program.
- XWhen
- X.I program
- Xexits
- X(along with any of its children that inherit the lock),
- Xthe lock disappears.
- X.PP
- XThis is the simplest ``right'' way to lock files from
- Xshell scripts.
- X.SH DIAGNOSTICS
- X.TP
- X.I cannot open
- XSelf-explanatory.
- X.TP
- X.I cannot flock
- XSelf-explanatory.
- X.TP
- X.I cannot execute
- XSelf-explanatory.
- X.SH VERSION
- Xflock version 1.0, dated April 20, 1990.
- X.SH "SEE ALSO"
- Xflock(2)
- END_OF_FILE
- if test 587 -ne `wc -c <'util/flock.man'`; then
- echo shar: \"'util/flock.man'\" unpacked with wrong size!
- fi
- # end of 'util/flock.man'
- fi
- if test -f 'util/rewind.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'util/rewind.c'\"
- else
- echo shar: Extracting \"'util/rewind.c'\" \(320 characters\)
- sed "s/^X//" >'util/rewind.c' <<'END_OF_FILE'
- X/* rewind version 1.0, 4/20/90. */
- X
- X#include <sys/file.h>
- X#include <stdio.h>
- X
- Xmain(argc,argv)
- Xint argc;
- Xchar *argv[];
- X{
- X int fd;
- X
- X if ((argc != 2) || (sscanf(argv[1],"%d",&fd) < 1))
- X { fputs("Usage: rewind fd\n",stderr); exit(1); }
- X if (lseek(fd,0,0))
- X { perror("rewind: fatal: cannot seek"); exit(2); }
- X exit(0);
- X}
- END_OF_FILE
- if test 320 -ne `wc -c <'util/rewind.c'`; then
- echo shar: \"'util/rewind.c'\" unpacked with wrong size!
- fi
- # end of 'util/rewind.c'
- fi
- if test -f 'util/rewind.man' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'util/rewind.man'\"
- else
- echo shar: Extracting \"'util/rewind.man'\" \(360 characters\)
- sed "s/^X//" >'util/rewind.man' <<'END_OF_FILE'
- X.TH rewind 1
- X.SH NAME
- Xrewind \- rewind a file descriptor
- X.SH SYNTAX
- Xrewind fd
- X.SH DESCRIPTION
- X.I rewind
- Xseeks back to the beginning of
- X.I fd.
- X.SH DIAGNOSTICS
- X.TP
- X.I cannot seek
- X.I rewind
- Xis unable to change the file descriptor's position.
- X.I fd
- Xis probably
- Xeither a pipe or closed.
- X.SH VERSION
- Xrewind version 1.0, dated April 20, 1990.
- X.SH "SEE ALSO"
- Xlseek(2)
- END_OF_FILE
- if test 360 -ne `wc -c <'util/rewind.man'`; then
- echo shar: \"'util/rewind.man'\" unpacked with wrong size!
- fi
- # end of 'util/rewind.man'
- fi
- if test -f 'util/setuid.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'util/setuid.c'\"
- else
- echo shar: Extracting \"'util/setuid.c'\" \(576 characters\)
- sed "s/^X//" >'util/setuid.c' <<'END_OF_FILE'
- X/* setuid version 1.0, 4/20/90. */
- X
- X#include <stdio.h>
- X#include <pwd.h>
- X
- Xmain(argc,argv)
- Xint argc;
- Xchar *argv[];
- X{
- X struct passwd pwm;
- X struct passwd *pw = &pwm;
- X
- X if (argc < 3)
- X { fputs("Usage: setuid username program [ arg ... ]\n",stderr); exit(1); }
- X if ((sscanf(argv[1],"%d",&pw->pw_uid) < 1) && (!(pw = getpwnam(argv[1]))))
- X { fprintf(stderr,"setuid: fatal: user %s unknown\n",argv[1]); exit(2); }
- X if (setuid(pw->pw_uid) == -1)
- X { perror("setuid: fatal: cannot setuid"); exit(3); }
- X execvp(argv[2],argv + 2);
- X perror("setuid: fatal: cannot execute");
- X exit(4);
- X}
- END_OF_FILE
- if test 576 -ne `wc -c <'util/setuid.c'`; then
- echo shar: \"'util/setuid.c'\" unpacked with wrong size!
- fi
- # end of 'util/setuid.c'
- fi
- if test -f 'util/setuid.man' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'util/setuid.man'\"
- else
- echo shar: Extracting \"'util/setuid.man'\" \(589 characters\)
- sed "s/^X//" >'util/setuid.man' <<'END_OF_FILE'
- X.TH setuid 1
- X.SH NAME
- Xsetuid \- run a program as a different uid
- X.SH SYNTAX
- Xsetuid user program [arg ... ]
- X.SH DESCRIPTION
- X.I setuid
- Xsets its uid to
- X.I user
- Xand runs
- X.I program
- Xwith the given arguments.
- X.I user
- Xcan be given as a login name or a number.
- X.PP
- XThis command really isn't very useful for anyone except root.
- X.SH DIAGNOSTICS
- X.TP
- X.I user unknown
- X.I setuid
- Xcannot recognize the nonnumeric
- X.I user.
- X.TP
- X.I cannot setuid
- XYou're not allowed to set your uid.
- X.TP
- X.I cannot execute
- XSelf-explanatory.
- X.SH VERSION
- Xsetuid version 1.0, dated April 20, 1990.
- X.SH "SEE ALSO"
- Xsu(1),
- Xsetuid(2)
- END_OF_FILE
- if test 589 -ne `wc -c <'util/setuid.man'`; then
- echo shar: \"'util/setuid.man'\" unpacked with wrong size!
- fi
- # end of 'util/setuid.man'
- fi
- if test -f 'util/u@h2h.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'util/u@h2h.c'\"
- else
- echo shar: Extracting \"'util/u@h2h.c'\" \(269 characters\)
- sed "s/^X//" >'util/u@h2h.c' <<'END_OF_FILE'
- X/* u@h2h version 1.0, 4/20/90. */
- X
- X#include <stdio.h>
- X
- Xmain()
- X{
- X char buf[2048];
- X int i;
- X int j;
- X
- X while (fgets(buf,sizeof(buf),stdin) != NULL)
- X {
- X j = -1;
- X for (i = 0;buf[i];i++)
- X if (buf[i] == '@')
- X j = i;
- X fputs(buf + j + 1,stdout);
- X }
- X exit(0);
- X}
- END_OF_FILE
- if test 269 -ne `wc -c <'util/u@h2h.c'`; then
- echo shar: \"'util/u@h2h.c'\" unpacked with wrong size!
- fi
- # end of 'util/u@h2h.c'
- fi
- if test -f 'util/u@h2h.man' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'util/u@h2h.man'\"
- else
- echo shar: Extracting \"'util/u@h2h.man'\" \(320 characters\)
- sed "s/^X//" >'util/u@h2h.man' <<'END_OF_FILE'
- X.TH u@h2h 1
- X.SH NAME
- Xu@h2h \- extract host from user@host
- X.SH SYNTAX
- Xu@h2h
- X.SH DESCRIPTION
- X.I u@h2h
- Xremoves everything before the last @ in each line,
- Xas well as the @ itself.
- X.SH RESTRICTIONS
- XInput lines must be shorter than 2048 characters.
- X.SH VERSION
- Xu@h2h version 1.0, dated April 20, 1990.
- X.SH "SEE ALSO"
- Xu@h2u(1)
- END_OF_FILE
- if test 320 -ne `wc -c <'util/u@h2h.man'`; then
- echo shar: \"'util/u@h2h.man'\" unpacked with wrong size!
- fi
- # end of 'util/u@h2h.man'
- fi
- if test -f 'util/u@h2u.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'util/u@h2u.c'\"
- else
- echo shar: Extracting \"'util/u@h2u.c'\" \(297 characters\)
- sed "s/^X//" >'util/u@h2u.c' <<'END_OF_FILE'
- X/* u@h2u version 1.0, 4/20/90. */
- X
- X#include <stdio.h>
- X
- Xmain()
- X{
- X char buf[2048];
- X int i;
- X int j;
- X
- X while (fgets(buf,sizeof(buf),stdin) != NULL)
- X {
- X j = 0;
- X for (i = 0;buf[i];i++)
- X if (buf[i] == '@')
- X j = i;
- X buf[j] = '\n';
- X buf[j + 1] = 0;
- X fputs(buf,stdout);
- X }
- X exit(0);
- X}
- END_OF_FILE
- if test 297 -ne `wc -c <'util/u@h2u.c'`; then
- echo shar: \"'util/u@h2u.c'\" unpacked with wrong size!
- fi
- # end of 'util/u@h2u.c'
- fi
- if test -f 'util/u@h2u.man' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'util/u@h2u.man'\"
- else
- echo shar: Extracting \"'util/u@h2u.man'\" \(319 characters\)
- sed "s/^X//" >'util/u@h2u.man' <<'END_OF_FILE'
- X.TH u@h2u 1
- X.SH NAME
- Xu@h2u \- extract user from user@host
- X.SH SYNTAX
- Xu@h2u
- X.SH DESCRIPTION
- X.I u@h2u
- Xremoves everything after the last @ in each line,
- Xas well as the @ itself.
- X.SH RESTRICTIONS
- XInput lines must be shorter than 2048 characters.
- X.SH VERSION
- Xu@h2u version 1.0, dated April 20, 1990.
- X.SH "SEE ALSO"
- Xu@h2h(1)
- END_OF_FILE
- if test 319 -ne `wc -c <'util/u@h2u.man'`; then
- echo shar: \"'util/u@h2u.man'\" unpacked with wrong size!
- fi
- # end of 'util/u@h2u.man'
- fi
- echo shar: End of archive 1 \(of 3\).
- cp /dev/null ark1isdone
- MISSING=""
- for I in 1 2 3 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 3 archives.
- rm -f ark[1-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
- exit 0 # Just in case...
-